﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
//using uam_fps_game.ParticleSystems;

namespace uam_fps_game.Gfx
{
    public class VisualSceneData
    {
        public Matrix ViewMatrix { get; set; }
        public Matrix ProjectionMatrix { get; set; }
        public Vector3 EyePosition { get; set; }

        public bool MainLightEnabled { get; set; }
        public Light MainLight { get; set; }

        internal List<Light> Lights;
        internal List<Billboard> Billboards;
        internal List<ModelInstance> Models;
        internal List<ParticleSystem> ParticleSystems;

        internal VisualSceneData()
        {
            Lights = new List<Light>(30);
            Billboards = new List<Billboard>(50);
            Models = new List<ModelInstance>(500);
            ParticleSystems = new List<ParticleSystem>(30);

            MainLight = new Light(LightType.DIRECTIONAL);
            MainLight.BaseDirection = new Vector3(1, 1, 1);
            MainLight.WorldMatrix = Matrix.Identity;
            MainLight.UpdateSpatialParams();
            MainLight.IsGeneratingShadows = true;
            MainLight.Strength = 0.25f;
            MainLightEnabled = true;
        }
    };
}
